package cn.wolfcode.wolf2w.business.api.domain;

import java.util.Date;

import cn.wolfcode.wolf2w.member.api.domain.UserInfo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import cn.wolfcode.wolf2w.common.core.annotation.Excel;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.io.Serializable;

/**
 * 提问对象 ta_question
 * 
 * @author hyz
 * @date 2024-08-13
 */
@Data
@Accessors(chain = true)
@TableName("ta_question")
@ApiModel(value = "提问实体类",description = "存储提问信息的类型")
public class Question implements Serializable {
    private static final long serialVersionUID = 1L;
    /** 主键 */
    @ApiModelProperty(value = "提问id",name = "id",dataType = "Long",required = true,example = "1")
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 标题 */
    @ApiModelProperty(value = "提问标题",name = "title",dataType = "String",required = true,example = "提问标题")
//    @Excel(name = "标题")
    private String title;

    /** 作者id */
    @ApiModelProperty(value = "作者id",name = "authorId",dataType = "Long",required = true,example = "1")
//    @Excel(name = "作者id")
    private Long authorId;

    /** 目的地id */
    @ApiModelProperty(value = "目的地id",name = "destId",dataType = "Long",required = true,example = "1")
//    @Excel(name = "目的地id")
    private Long destId;

    /** 目的地名 */
    @ApiModelProperty(value = "目的地名",name = "destName",dataType = "String",required = true,example = "中国")
//    @Excel(name = "目的地名")
    private String destName;

    /** 封面图的地址 */
    @ApiModelProperty(value = "封面图的地址",name = "coverUrl",dataType = "String",required = true,example = "E:\\aa")
//    @Excel(name = "封面图的地址")
    private String coverUrl;

    /** 问题的创建时间 */
    @ApiModelProperty(value = "问题的创建时间",name = "createTime",dataType = "Date",required = true,example = "")
    private Date createTime;

    /** 是否已发布 0:否 1:是（未发布就是存草稿箱了） 据he某人所说是反了*/
    /** 是否已发布 0:发布 1:草稿（未发布就是存草稿箱了） */
    @ApiModelProperty(value = "是否已发布",name = "isPublic",dataType = "String",required = true,example = "0")
//    @Excel(name = "是否已发布 0:否 1:是", readConverterExp = "未=发布就是存草稿箱了")
    private String isPublic;

    /** 提问的发布时间（查询最新） */
    @ApiModelProperty(value = "提问的发布时间",name = "releaseTime",dataType = "Date",required = true,example = "")
//    @Excel(name = "提问的发布时间", readConverterExp = "查=询最新")
    private Date releaseTime;

    /** 浏览数量（查询最热） */
    @ApiModelProperty(value = "浏览数量",name = "viewnum",dataType = "Long",required = true,example = "10")
//    @Excel(name = "浏览数量", readConverterExp = "查=询最热")
    private Long viewnum;

    /** 回答数量(如果评论数量为0即为待回答) */
    @ApiModelProperty(value = "回答数量",name = "commentnum",dataType = "Long",required = true,example = "10")
//    @Excel(name = "回答数量(如果评论数量为0即为待回答)")
    private Long commentnum;

    /** 点赞数量 */
    @ApiModelProperty(value = "点赞数量",name = "thumbsupnum",dataType = "Long",required = true,example = "10")
//    @Excel(name = "点赞数量")
    private Long thumbsupnum;


    @TableField(exist = false)
    private UserInfo author;

    @TableField(exist = false)
//    private QuestionContent content;
    private String content;


}
